今日すること
(08:00) 内面的なロジックはもう完成した感じだが、まだもう少しやっておきたいことがあるのでそれをやってしまう。 何かというと、ユーザーの削除である。今のプログラムではユーザーは一回作られたらもう使われることはなくてもDB に残ってしまう。データ容量の無駄になるので、一回使われたて、そこから一定時間経ったらユーザーを削除するようにする。
アルゴリズム
ユーザーには作られた時刻を保持するデータが含まれている。前回までこのデータ型はtimestamp型だったのだがあまりにも使いやすい方 が他にあったのでそっちを使うことにした、datatime型である。datatime型とtimestamp型は様々な違いがあるが殆どの点において 前者のほうが使いやすかった。ということでDBの時間保持変数をすべてdatatime型にした。
処理としては新しく期限切れのユーザーを検知して削除する関数を作って、それを最初に呼ぶようにする。 関数の中ではユーザーDBから期限切れのユーザーIDを取得してそれを消す、というかんたんな処理である。 ユーザーのデータはクッキーに保存されているので今使用中の場合はユーザーを強制的に変更させる。
その前にちょこまかと改善
(16:00) 今日の本題のコーディングに入る前に前準備的なものがいるのでやってしまおう。 まず、userには当然作ったときの時間を保持するカラムがあるのですが、最初はtimestampやらdatatimeやらを使っていた。 今日の八時まではそんな方法だったのだが期限切れ化を判別するsql文がなかなか日付型だと扱いにくかったので、日付を数値に変換するstrtotime関数 なるものを使って整数にしてdbにぶち込むようにした。
コーディング
そこまで難しくなかった。アルゴリズムの通りのプログラムで動いた。
お知らせ
適当な数字から適当な名前を生成する何に使われるかもわからないプログラムを作った。自由に利用してほしい。PHPで書いてます。https://t.co/TKN1Z3Arf6#Github #Num2Name
— CreativeGP (@CreativeGP1) 2017年6月11日